home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue71 / ADONET / ADODotNetU1.pas < prev   
Encoding:
Pascal/Delphi Source File  |  2001-05-23  |  4.2 KB  |  180 lines

  1. unit ADODotNetU1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   ComObj, System_Data_TLB, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Button1: TButton;
  12.     Button2: TButton;
  13.     ListBox1: TListBox;
  14.     Button3: TButton;
  15.     Button4: TButton;
  16.     Button5: TButton;
  17.     procedure Button1Click(Sender: TObject);
  18.     procedure Button2Click(Sender: TObject);
  19.     procedure Button3Click(Sender: TObject);
  20.     procedure Button4Click(Sender: TObject);
  21.     procedure Button5Click(Sender: TObject);
  22.   private
  23.     procedure ShowCustomers(oComm: ADOCommand);
  24.     { Private declarations }
  25.   public
  26.     { Public declarations }
  27.   end;
  28.  
  29. var
  30.   Form1: TForm1;
  31.  
  32. implementation
  33.  
  34. {$R *.DFM}
  35.  
  36. uses
  37.   ActiveX, COMRuntimeLibrary_TLB;
  38.  
  39. procedure TForm1.Button1Click(Sender: TObject);
  40. var
  41.   oConn: ADOConnection;
  42.   oComm: ADOCommand;
  43. begin
  44.   oConn:=CreateCOMObject(Class_ADOConnection) as ADOConnection;
  45.  
  46.   oConn.Set_ConnectionString(
  47.   'Provider=SQLOLEDB.1;Persist Security Info = False;'+
  48.   'Initial Catalog = Northwind;User ID = sa;');
  49.  
  50.   oConn.Open;
  51.  
  52.   oComm:=CreateCOMObject(Class_ADOCommand) as ADOCommand;
  53.  
  54.   oComm.Set_ActiveConnection(oConn);
  55.  
  56.   oComm.Set_CommandText('SELECT * FROM CUSTOMERS');
  57.  
  58.   oComm.Execute;
  59.  
  60.   oConn.Close;
  61. end;
  62.  
  63. procedure TForm1.Button2Click(Sender: TObject);
  64. var
  65.   oConn: ADOConnection;
  66.   oComm: ADOCommand;
  67. begin
  68.   oConn:=CreateCOMObject(Class_ADOConnection) as ADOConnection;
  69.  
  70.   oConn.Set_ConnectionString(
  71.   'Provider=SQLOLEDB.1;Persist Security Info = False;'+
  72.   'Initial Catalog = Northwind;User ID = sa;');
  73.  
  74.   oConn.Open;
  75.  
  76.   oComm:=CreateCOMObject(Class_ADOCommand) as ADOCommand;
  77.  
  78.   oComm.Set_ActiveConnection(oConn);
  79.  
  80.   oComm.Set_CommandText('SELECT * FROM CUSTOMERS');
  81.  
  82.   ShowCustomers(oComm);
  83.  
  84.   oConn.Close;
  85. end;
  86.  
  87. procedure TForm1.ShowCustomers(oComm: ADOCommand);
  88. var
  89.   oDR: ADODataReader;
  90.   oWorkAround: IDataReader;
  91. begin
  92.   oComm.Execute_2(oWorkAround);
  93.  
  94.   oDR:=oWorkAround as ADODataReader;
  95.  
  96.   while oDR.Read do
  97.     ListBox1.Items.Add(oDR.GetString(2));
  98.  
  99.   oDR.Close;
  100. end;
  101.  
  102. procedure TForm1.Button3Click(Sender: TObject);
  103. var
  104.   oDataSet: DataSet;
  105.   oTable: DataTable;
  106.   oColumn: DataColumn;
  107.   oRow: DataRow;
  108.   oRelation: DataRelation;
  109. begin
  110.   oDataSet:=CreateCOMObject(Class_DataSet) as DataSet;
  111.   oDataSet.Set_DataSetName('SalesDB');
  112.  
  113.   oTable:=CreateCOMObject(Class_DataTable) as DataTable;
  114.   oTable.Set_TableName('States');
  115.  
  116.   oColumn:=CreateCOMObject(Class_DataColumn) as DataColumn;
  117.   oColumn.Set_ColumnName('State');
  118.   oTable.Columns.Add(oColumn);
  119.  
  120.   oColumn:=CreateCOMObject(Class_DataColumn) as DataColumn;
  121.   oColumn.Set_ColumnName('Name');
  122.   oTable.Columns.Add(oColumn);
  123.  
  124.   oDataSet.Tables.Add(oTable);
  125.  
  126.   oRow:=CreateCOMObject(Class_DataRow) as DataRow;
  127.   oRow.Set_Item_2('State', 'CA');
  128.   oRow.Set_Item_2('Name' , 'California');
  129.   oTable.Rows.Add_2(oRow);
  130.  
  131.   oRow:=CreateCOMObject(Class_DataRow) as DataRow;
  132.   oRow.Set_Item_2('State', 'TX');
  133.   oRow.Set_Item_2('Name' , 'Texas');
  134.   oTable.Rows.Add_2(oRow);
  135.  
  136.   oRelation:=CreateCOMObject(Class_DataRelation) as DataRelation;
  137.   oRelation.Set_RelationName('CustomerStates');
  138.  
  139. end;
  140.  
  141. procedure TForm1.Button4Click(Sender: TObject);
  142. var
  143.   oDataSet: DataSet;
  144. begin
  145.   oDataSet:=CreateCOMObject(Class_DataSet) as DataSet;
  146.   oDataSet.ReadXml_4('ABC.XML');
  147. end;
  148.  
  149. procedure TForm1.Button5Click(Sender: TObject);
  150. var
  151.   oConn: ADOConnection;
  152.   oDSCommand: ADODataSetCommand;
  153.   oDS: DataSet;
  154.   oRows: RowsCollection;
  155.   intRow: integer;
  156. begin
  157.   oConn:=CreateCOMObject(Class_ADOConnection) as ADOConnection;
  158.  
  159.   oConn.Set_ConnectionString(
  160.   'Provider=SQLOLEDB.1;Persist Security Info = False;'+
  161.   'Initial Catalog = Northwind;User ID = sa;');
  162.  
  163.   oConn.Open;
  164.  
  165.   oDSCommand:=CreateCOMObject(Class_ADODataSetCommand) as ADODataSetCommand;
  166.  
  167.   oDSCommand.SelectCommand.Set_CommandText('SELECT * FROM CUSTOMERS');
  168.   oDSCommand.SelectCommand.Set_ActiveConnection(oConn);
  169.  
  170.   oDS:=CreateCOMObject(Class_DataSet) as DataSet;
  171.  
  172.   oDSCommand.FillDataSet_2(oDS, 'Customers');
  173.  
  174.   oRows:=oDS.Tables.Get_Item_2('Customers').Rows;
  175.   for intRow:=0 to oRows.Count - 1 do
  176.     ListBox1.Items.Add(oRows.Item[intRow].Item[1]);
  177. end;
  178.  
  179. end.
  180.